Computers are used to store and manage many types of data. Relational and object-relational databases that are managed by database servers for database clients are an important form of storing and managing data. How database data is physically stored can have a significant effect on (1) how much storage space the database consumes, and (2) how efficiently the database data can be accessed and manipulated. If physically stored in an inefficient manner, the database data may consume more storage space than desired, and result in slow retrieval, storage and/or update times.
Data in a relational or object-relational database is stored as relations comprising rows that share the same columns. The rows are stored in data blocks. Described herein are techniques for compressing data blocks that store rows.